Color management systems (CMS) perform gamut mapping to convert color between color device representations of a source and a destination color device. To perform this conversion, color values for a color space of the source device are converted into color values for a device independent color space, and thereafter, these device-independent color values are converted into values for a color space of the destination device.
Because a source device (e.g., a digital camera) and a destination device (e.g., a printer) typically have different color gamuts with respect to each other, a gamut mismatch may occur, meaning that some colors within the source device's color space may not be represented within the destination device's color space. Often, a destination device gamut is smaller than the source device gamut because the source device is capable of producing more colors than the destination device. To achieve an intended reproduction of source colors on the destination device, gamut mapping is performed.
Gamut mapping is the process of mapping colors in the source device gamut onto the destination device gamut. Gamut mapping is often performed using a compression-type gamut mapping algorithm (GMA). Compression-type GMAs use source and destination device gamut boundaries to determine the amount of compression (movement) needed to map a color point in the source device gamut onto the destination device gamut. Examples of compression-type GMAs include midpoint compression, cusp point compression and knee point compression GMAs.
FIG. 1 shows a typical architecture for gamut mapping using a compression-type GMA. Source device gamut boundary 11 is created from a source device model by a source device gamut boundary module 10 and destination device gamut boundary 13 is created from a destination device model by destination device gamut boundary module 12. Source device gamut boundary 11 and destination device gamut boundary 13, together with source image colors 14, are provided to compression-type GMA 15. Compression-type GMA 15 is applied to source image colors 14 in order to map source image colors 14 to destination colors 16, using source device gamut boundary 11 and destination device gamut boundary 13.
Compression-type GMAs perform color conversion according to various color reproduction intents which define a desired relationship between the source and destination color values. The intent of the GMA dictates the direction and magnitude of compression. For example, a GMA can perform with an intent to maintain accuracy of the original image or with an intent to maximize pleasantness to a viewer. Often, compression-type GMAs preserve the details of an image. However if too much compression is performed, some of the colorfulness (i.e., chroma) of the image may be lost.
Other types of GMAs include image-based GMAs and clipping-type GMAs. Image-based GMAs use various image characteristics to determine gamut mapping for the colors of the image. Clipping-type GMAs generally map colors which are outside of the destination gamut to a color point on the destination gamut boundary. Colors which are already contained in the destination gamut are not affected. Often, clipping-type GMAs preserve the colorfulness (i.e., chroma) of an image. However, the use of a clipping-type GMA may cause some image detail in the colorful areas to be lost.
Generally, movement of color points during gamut mapping is undesirable because movement alters color appearance. Therefore, it is ordinarily desirable to minimize the movement of color points during gamut mapping.